home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1998 #3 / Amiga Plus CD - 1998 - No. 3.iso / pd / spiele / adoom / src / amiga_fixed.s < prev    next >
Encoding:
Text File  |  1997-12-28  |  460 b   |  34 lines

  1.         mc68020
  2.  
  3.         xdef    @FixedMul
  4.         xdef    @FixedDiv
  5.  
  6. ; fixed_t FixedMul (fixed_t a, fixed_t b)
  7.  
  8. @FixedMul    muls.l    d1,d1:d0
  9.         move.w    d1,d0
  10.         swap    d0
  11.         rts
  12.  
  13. ; fixed_t FixedDiv (fixed_t a, fixed_t b)
  14.  
  15. @FixedDiv    movem.l    d2/d3,-(sp)
  16.         move.l    d0,d3
  17.         swap    d0
  18.         move.w    d0,d2
  19.         ext.l    d2
  20.         move.w    #0,d0
  21.         tst.l    d1
  22.         beq.l    3$
  23.         divs.l    d1,d2:d0
  24.         bvc.b    1$
  25. 3$        eor.l    d1,d3
  26.         bmi.b    2$
  27.         move.l    #$7fffffff,d0
  28.         bra.b    1$
  29. 2$        move.l    #$80000000,d0
  30. 1$        movem.l    (sp)+,d2/d3
  31.         rts
  32.  
  33.         end
  34.